1. Field of the Invention
The present invention relates to interfaces between processors and peripheral devices. More specifically, the invention relates to interfaces between processors and disk drives which allow a larger number of disk drives to be controlled by a single processor and an existing disk controller, thereby allowing concurrent seeks on more than one drive.
2. Related Art
Various patents disclose control schemes for storage media.
For example, U.S. Pat. No. 3,623,006 (Balakian et al.) shows an early example of a "disk file optimizer" which selects a most optimum request for execution based on minimum latency time. U.S. Pat. No. 3,893,178 (Sordello) provides synchronized rotation of several disks to minimize latency time, when switching from one disk to another. U.S. Pat. No. 4,270,154 (Crawford) discloses a system in which several heads (or stacks of heads) are provided to minimize latency time.
In U.S. Pat. No. 4,494,196 (Greer), a controller 20 is disposed between a central processor unit 10 and N peripheral data storage units 12-1 through 12-N. The Greer controller focuses on controlling data storage devices having different data transfer rates, using a corresponding number of instruction storage units.
U.S. Pat. No. 4,858,038 (Kazama) discloses a set of disk drive selector circuits for a disk drive controller which allow different "types" of disk drives to be selected.
U.S. Pat. No. 4,910,614 (Arai et al.) discloses a disk controller which is disposed between a host processor and several disk drives of different types. The focus of the Arai et al. patent is the presence of two types of memories: a first type of memory in one-to-one correspondence with the disk drive units, and a second set of memories defining the types of disk drives.
U.S. Pat. No. 4,935,828 (Frissell) discloses a seek multi-tasking disk controller in which a disk control unit 102 (Frissell's FIG. 2) is disposed between a CPU 201 and several disk drives 104, 106. As explained with reference to Frissell's FIGS. 6 and 7, during a time when a data transfer command is deferred in one disk drive, a seek command may be addressed to another disk drive. The Frissell multi-tasking controller depends heavily on the relative location of the head and sectors on one of the disk drives.
Finally, U.S. Pat. No. 5,097,439 (Patriquin et al.) is directed to interfacing several disk drives to an AT.TM.-based host computer. The Patriquin et al. patent focuses on a "subsystem" which is an interface between the host computer's buses and many disk drive "clusters" the subsystem allowing substantial expansion. The Patriquin et al. system may carry out seeks concurrently in more than one disk drive.
From the foregoing patents, it is apparent that various schemes for handling more than one recording medium are known in the art. However, the known system possess one or more disadvantage which are of concern from either or both a cost or performance standpoint. For example, it is known in the art that additional drives may be added to a given computer system, but only through costly addition of additional software drivers. Alternatively, a known solution is to adapt a given disk drive to such a system, but this adaptation of the disk drive's interface is also costly. Moreover, the addition of a larger number of disk drives to a system has often slowed the performance of the overall system, even in those which conceivably could perform concurrent seek operations in different disk drives.
FIG. 1 illustrates an ISA/EISA (Industry Standard Architecture/Extended Industry Standard Architecture) bus 100 connected in a standard configuration to first IDE (Integreated Drive Eklectronics) drive 110 and a second IDE drive 112 via an IDE interface/connector 104. The ISA/EISA bus 100 is controlled by a processing unit such as CPU (Central Processing Unit) 102.
On a standard IDE interface, at most two drives can be connected to the ISA/EISA bus. In the known arrangement illustrated in FIG. 1, the CPU selects one of the drives 110, 112 by setting bit 4 of I/O register 1F6H to 0 or 1. This bit enables I/O (Input/Output) decoding to the address ranges 1F0H-1F07H and 3F6H-3F7H, as well as to select the source of interrupt line IRQ14 used for disk I/O in ISA/EISA systems. In this known arrangement, only one IDE disk drive can be selected at any given time. One operation must be completed on a first disk drive, before another operation can begin with respect to another drive. Therefore, concurrent multi-seek operations cannot be performed at all in two disk drives in the arrangement illustrated in FIG. 1.
The FIG. 1 arrangement including an existing IDE interface with a maximum of two disk drives is adequate for operating systems such as MS-DOS.TM., because the environment requires only sequential disk accesses. However, in other operating systems, such as "MICROSOFT".TM. "WINDOWS".TM., "NOVELL".TM. "NETWARE".TM., or "UNIX".TM., concurrent requests may be pending due to multi-tasking and multi-user capability. If an operating system desires access to more than one disk drive at a time, or if commands are desired to be sent to different disk drives simultaneously, concurrent seeking on more than one disk drive is required. If this can be achieved, faster data acquisition is possible, and the system would have higher performance than one with a sequential request access.
As described to some extent in the above-listed patents, as well as in the SCSI (Small Computer System Interface) controllers, seeks can be performed on more than one disk drive at a time. However, the cost of the SCSI controller is high, and the SCSI protocol interface involves substantial overhead. To date, there is no known system in which multi-seek operations can be performed while minimizing both cost and overhead. It is especially desirable to provide this multi-seek capability on disk drives which do not require special interface hardware or software, but may employ a conventional (for example, IDE) interface arrangement.
Therefore, there is a need in the art to provide means for interfacing a processor with more than one disk drive at the same time, thereby allowing concurrent multi-seek capability even when both drives are standard IDE drives, in a low-cost, high performance system especially suitable for multi-tasking.